5.3. Adder and Subtracter

Part 5.3.1 Adder

It’s a combinational circuit that performs logical addition of binary numbers.

 

Part 5.3.1.1 Half Adder

It is a combinational circuit that has two inputs and one output. The circuit will add two bits at the inputs and produce an output that is the sum without a carry.

 

Table 1. Truth Table of  Half Adder

x

y

Carry (C)

Sum (S)

0

0

0

0

0

1

0

1

1

0

0

1

1

1

1

0

 

 

 

 

 

 

 

 

 

 

Boolean Expression:

Sum: S = x'y + xy'

Carry: C = xy

 

 

 

A black and white diagram

AI-generated content may be incorrect.

Figure 1. Logic Circuit of a Half Adder

 

Part 5.3.1.2 Full Adder

It is a combinational circuit that has three inputs and two outputs. It performs addition of three bits (two binary digits and a previous carry), producing an output that is the sum digit and a new carry digit.

 

Table 2. Truth table of a Full Adder

x

y

z

Carry (C)

Sum (S)

0

0

0

0

0

0

0

1

0

1

0

1

0

0

0

0

1

1

1

0

1

0

0

0

1

1

0

1

1

0

1

1

0

1

0

1

1

1

1

1

 

 

 

 

 

 

 

 

 

 

Boolean Expression:

Sum: S = x'y'z + xy'z' + xyz + x'yz' or S = x  (y  z)

Carry: C = xy + yz + xz

A diagram of a circuit

AI-generated content may be incorrect.

Figure 2. Logic Circuit of a Full Adder

hint: Download this by “right click” and “save as file” and then try it on the simulator.

 

Part 5.2.3 Subtractor

It’s a combinational circuit that performs logical subtraction of binary numbers.

 

 

Part 5.2.3.1 Half-Subtracter

 

It’s a combinational circuit that subtracts two bits and produces their difference.

 

Table 3. Truth table of a Half-Subtracter

x

y

Borrow (B)

Difference (d)

0

0

0

0

0

1

1

1

1

0

0

1

1

1

0

0

 

 

 

 

 

 

Boolean Expressions:

Difference:

D = x'y + xy'

Borrow:

B = x'y

A black and white diagram

AI-generated content may be incorrect.

Figure 3. Logic Circuit of a Half Subtracter

 

hint: Download this by “right click” and “save as file” and then try it on the simulator.

 

Part 5.2.3.2 Full-Subtracter

It’s a combinational circuit that performs subtraction between two bits considering a previous borrow.

 

 

Table 4. Truth table of a Full Subtracter

x

y

z

Borrow (B)

Difference (d)

0

0

0

0

0

0

0

1

1

1

0

1

0

1

1

0

1

1

1

0

1

0

0

0

1

1

0

1

0

0

1

1

0

0

0

1

1

1

1

1

 

 

 

 

 

 

 

 

 

 

 

Boolean Expressions:

Difference:

D = x'y'z + xy'z' + xyz + x'yz' or D = x (y z)

Borrow:

B = x'z + yz + x'y

 

Part 5.2.3.3 Binary Adder
A binary adder is a fundamental digital circuit that performs the addition of binary numbers. It's a core component in computers and other digital systems, essential for arithmetic operations.

 

Part 5.2.3.4 Binary Serial Adder

Uses only one full-adder and a storage device to hold the generated output carry. The pair of bits in A and B are transferred serially, one at a time, through a single FA to produce a string of output bits for the sum.

 

A diagram of a case

AI-generated content may be incorrect.

Figure 4. Block Diagram of a Binary Serial Adder

 

 

Part 5.2.3.4 Binary Parallel Adder

A set of full adders connected to produce the arithmetic sum of two binary numbers in parallel.

 

 

 

A diagram of a block diagram

AI-generated content may be incorrect.

Figure 5. Example IC is the 74x283 which is a 4-bit binary parallel adder

 

 

 

 

Part 5.2.3.4 Arithmetic Logic Unit

An arithmetic logic unit (ALU) is an MSI integrated circuit that can perform all 16 possible logic operations on two variables, as well as several arithmetic operations.

 

A diagram of a logic block

AI-generated content may be incorrect.

Figure 6 Arithmetic Logic Unit Block Diagram

An example of ALU is 74181. The 74181 Arithmetic Logic Unit (ALU) was a groundbreaking integrated circuit introduced in the early 1970s, notable for being the first complete 4-bit ALU on a single chip. This innovative component could perform a wide range of operations, including 16 different arithmetic functions like addition and subtraction, as well as all 16 possible logic operations such as AND, OR, and XOR. Users could switch between arithmetic and logic modes using a dedicated control input, and then select the specific operation with four function select inputs. Crucially, the 74181 also included features for handling carries, providing both a carry-in for multi-stage calculations and carry-out, carry-generate, and carry-propagate signals to support faster carry lookahead architectures. This comprehensive functionality made the 74181 a cornerstone in early computer design, significantly reducing the complexity and size of central processing units (CPUs) and paving the way for more integrated digital systems.

 

 

 

A table with text and symbols

AI-generated content may be incorrect.

Figure 7. ALU SN 74181 an example of ALU (source: stepik.org).      Figure 8. 74181 High-Function Table